const path = require('path')
const Koa = require('koa')
const {koaBody} = require('koa-body')
const koastatic = require('koa-static')
const parameter = require('koa-parameter')
const errHandler = require('./errHandler')
const router = require('../router/index')

const app = new Koa()


app.use(koaBody({
    multipart:true,
    formidable:{
        //在配置选项中option里，不推荐使用相对路径
        //在options
        uploadDir:path.join(__dirname,'../upload'),//上传文件，放到哪个路径下
        keepExtensions:true//是否保留文件扩展名
    },
    parsedMethods:['POST','PUT','PATCH','DELETE']//默认是post、put、patch，加上delete，让delete能获取到body里面的值（ctx.request.body）
}))

// app.use(koaBody())
app.use(koastatic(path.join(__dirname,'../upload')))//把某一个目录当成一个静态资源文件夹，请求文件的时候，去对应的文件夹找

app.use(router.routes()).use(router.allowedMethods())
app.use(parameter(app))
// 统一错误处理
app.on('error',errHandler)

module.exports = app